草庐IT

ES 脚本

全部标签

javascript - 如何知道脚本 block 或 JavaScript 代码的生命周期?

我想知道javascriptblock/函数是否在加载后始终可用。因为我已经测试了一些东西,现在我有点困惑。我将一个脚本block定义到一个div中。脚本block有一个事件处理函数,用于元素使用ajax重新加载div。ajax调用返回div的纯html并将其替换为当前的html。但这意味着替换执行的脚本。我认为脚本会在替换语句后停止执行。但它没有。执行替换语句后的代码行那么这些东西是如何工作的。您如何描述脚本block的生命周期? 最佳答案 当代码包含在script中时元素被求值时,代码求值的结果成为页面运行时环境的一部分。删除s

javascript - 为什么 script.onload 在 Chrome 用户脚本中不起作用?

我想使用用户脚本在站点中加载另一个脚本文件。但是,js.onload事件无法正常工作。用户脚本文件://==UserScript==//@nameCodehighlight//@descriptionTest//@includehttp://localhost/*//@version1.0//==/UserScript==varjs=document.createElement('script');js.src="http://localhost/test/js/load.js";document.getElementsByTagName("head")[0].appendChild(

javascript - 如何识别 ES6 生成器

假设我有一个这样的生成器函数:varg=function*(){yield1;yield2;yield3;};vargen=g();我如何以编程方式判断g是一个生成器函数,或者gen是一个迭代器?这似乎是一种可能性:g.constructor.name==='GeneratorFunction'有没有更好的办法?更新:我结束了takinganapproach类似于Eric'sanswer,但使用eval首先确定目标平台是否支持生成器。这是实现:varGeneratorConstructor=(function(){try{vargenerator;returneval('generat

javascript - CoffeeScript - 使用参数执行 bash 脚本

我正在玩GitHub的Hubot,我尝试在我的机器人工作中执行一个bash脚本。我成功执行了我的脚本,但如果我向该脚本添加一些参数,它就无法正常工作。{spawn}=require'child_process's=spawn'./myScript.sh'+"url"+"title"console.log"Output:#{data}"s.stderr.on'data',(data)->console.error"Error:#{data}"s.on'close',->console.log"'s'hasfinishedexecuting."如何将参数传递给我的脚本?感谢帮助

javascript - 如何配置 chrome 开发者工具不调试所有扩展脚本

我在chrome实验中打开了Enableframeworksdebuggingsupport标记。有一种模式用于跳过逐步执行脚本。由于有很多chrome扩展,我很难在模式输入中使用或逻辑运算符将它们全部键入。是否有用于跳过所有扩展脚本的标志? 最佳答案 您可以在http://crbug.com/160207为错误加注星标跟进进度。Chrome中的黑盒功能:http://crbug.com/267592与此同时,只需将此正则表达式模式添加到黑盒所有内容脚本:^chrome-extension://

javascript - 如何使用 mocha/chai/chai-as-promised 测试 ES7 异步函数

我有以下功能要测试://...constlocal=newWeakMap();exportdefaultclassUser{//...asyncpassword(password){if(!password)returnlocal.get(this).get('hash');//removethisforsecurityreasons!if(password.length现在我想用mocha测试这个函数,chai和chai-as-promised做这个测试用例:importchaifrom'chai';importchaiAsPromisedfrom'chai-as-promised'

javascript - 使用 Babel.js 将 ES6 箭头函数编译为 Es5

在Mozilla文档中查看ES6箭头函数的文档时,我了解到箭头函数应用严格模式的所有规则,除了在link中描述的规则。varf=()=>{'usestrict';returnthis};varg=function(){'usestrict';returnthis;}console.log(f());//printsWindowconsole.log(g());//printsundefined//wecantestthisinfirefox!但是,Babel.js将箭头函数代码转换为ES5代码,返回undefined而不是Window(demolink)"usestrict";setT

javascript - 如何从 node.js 脚本中的 CDN 链接导入 JavaScript 库

我有一个名为myscript.js的脚本。我通常执行脚本使用这个命令:$nodemyscript.js如何通过脚本中的CDN地址包含JStat库://cdn.jsdelivr.net/jstat/1.2.1/jstat.min.js 最佳答案 node的require中没有内置任何逻辑来执行此操作。如果你确定这个库支持在服务器端使用(不是所有的库都是“同构的”,即在客户端和服务器端都可用),那么你可以下载它并在本地使用它(要求('./jstat.min.js')).最好的方法是在npm上找到它并安装它,就像任何其他Node模块一样。

javascript - 如何在 Indesign 脚本中使用 Array.reduce() 等高阶函数?

我已经开始了一个项目,我需要使用Adob​​eIndesign和ExtendScript以编程方式从一系列INDD文件中提取一些数据。在这些程序中用于编写脚本的Javascript版本不支持我习惯使用的任何高阶函数(Array.reduce()、Array.forEach()、Array.map()等...)。有没有办法将此功能添加到ExtendScript中?我觉得我在一个四英尺高的天花板的房间里走来走去。 最佳答案 使用PolyfillExtendScript似乎支持纯Javascript对象的原型(prototype)设计(但

javascript - ES6 用箭头函数给变量赋值

我刚刚开始习惯ES6语法,我想知道是否可以使用箭头函数为变量赋值。我正在编写一个基本的轻量级AJAX帮助程序库,并且在状态为200时,我想向用户返回一个有效负载,我目前正在这样做:varresponseData="";switch(payload.returnType.toLowerCase()){case"json":responseData=JSON.parse(httpRequest.responseText);break;case"text":responseData=httpRequest.responseText;break;default:responseData=nul